import { IParam } from '../../common';
import { ITabExpPanelAbility } from '../ability';
import { ICtrlActionResult } from '../data-action';
import { ITabExpPanelStore } from '../store';
import { ICtrlController } from './i-ctrl-controller';

/**
 * 分页导航面板部件控制器接口
 *
 * @export
 * @interface ITabExpPanelController
 * @extends {IWidgetsController}
 */
export interface ITabExpPanelController<
	S extends ITabExpPanelStore,
	A extends ITabExpPanelAbility
> extends ICtrlController<S, A> {
	/**
	 * @description 加载
	 * @return {*}  {Promise<ICtrlActionResult>}
	 * @memberof ITabExpPanelController
	 */
	load(args?: IParam): Promise<ICtrlActionResult>;

	/**
	 * @description 处理导航面板点击
	 * @memberof ITabExpPanelController
	 */
	handleTabPanelClick(event: IParam): void;
}
